# -*- coding:utf-8 -*-
# @Desc: 
# @Author: Administrator
# @Date: 2018-04-29 13:23

### 局部变量: 就是在函数内部定义的变量
### 局部变量的作用: 为了临时保存数据需要在函数中定义变量来进行存储
### 局部变量的范围: 只能在函数内部使用
### 不同的函数,可以定义相同名称的变量

# 定义在函数外面的变量是全局变量，其他函数都能访问全局变量
    # 在函数中不能直接修改全局变量的值（产生异常）
    # 如果想要修改全局变量的值---》在函数内部进行声明,需要声明在函数的第一行（global 全局变量名称）
# 定义在函数里面的变量是局部变量，只在函数内部有效，形参也是局部变量

### 全局变量: 可以在后面的代码中使用

a = 200

def test1():
    a = 10  # 只是在函数中定义了一个局部变量,与全局变量名称一样
    a += 1
    print("test1函数中的a的值为: %s"%a)
    return a

def test2():
    # a = 20  # 当函数中未定义局部变量,函数中访问的变量变量就是全局变量
    print("test2函数中的a的值为: %s"%a)

def test3(a):
    # a = 30  # 如果函数中的局部变量和全局变量的名字一样,会优先使用局部变量
    print("test2函数中的a的值为: %s"%a)

aa = test1()
test2()
test3(aa)
print("a的值是: %s"%a)

